package app.android.alampang.ui.activity;

import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.view.WindowCompat;
import android.view.MenuItem;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import app.android.alampang.R;
import app.android.alampang.loader.FontLoader;
import app.android.alampang.model.Place;
import app.android.alampang.ui.core.BaseActionBarActivity;
import app.android.alampang.ui.custom.FloatingActionButton;
import app.android.alampang.ui.custom.VCustomScrollView;
import app.android.alampang.utility.NavigationService;

/**
 * Created by Lihong on 27/01/2015.
 */
public class PlaceDetailActivity extends BaseActionBarActivity implements VCustomScrollView.OnScrollViewListener, View.OnClickListener{

    private FloatingActionButton btnNav;
    private android.support.v7.app.ActionBar mActionBar;
    private VCustomScrollView scrollView;
    private ImageView pic;
    private WebView txtDesc;
    //private TextView txtDesc;


    private Place place;

    @Override
    public void onCreate(Bundle savedInstanceState, Bundle param) {
        supportRequestWindowFeature(WindowCompat.FEATURE_ACTION_BAR_OVERLAY);
        setContentView(R.layout.activity_place_detail);

        String jsonString = param.getString(Place.PARSING_NAME);
        place = new Place(jsonString);
    }

    private String genHtmlContent(String content)
    {
        String html = "<html>" +
                      "<head>%s</head>" +
                      "<body>%s</body>" +
                      "</html>";

        String head = "<style>" +
                            "@font-face {font-family: 'myFont'; src: url('file:///android_asset/fonts/th_krub.ttf'); }" +
                            "p { font-family: 'myFont'; text-indent: 25px; font-size: 20px;}" +
                            "body {background-color: #fff3cf;}" +
                       "</style>";
        String body = "<div><p>"+content+"</p></div>";

        return String.format(html, head, body);
    }

    @Override
    public void initialize() {
        pic = (ImageView) findViewById(R.id.header_pic);
        pic.setImageResource(place.getImageDrawable());

        //txtDesc = (TextView) findViewById(R.id.txt_desc);

        //String content = new String(place.getContent());
        //Toast.makeText(this, String.format("%s", content), Toast.LENGTH_LONG).show();

        //txtDesc.setTypeface(FontLoader.getFont(this, FontLoader.TH_KRUB));
        //txtDesc.setText("เป็นวัดเก่าแก่มีประวัติความเป็นมามากกว่า 500 ปี เคยเป็นที่ประดิษฐานพระแก้วมรกต วัดพระแก้วดอนเต้าสุชาดารามเป็นวัดขนาดใหญ่ มีผังวัดเป็นสี่เหลี่ยม ตัววิหารเป็นสถาปัตยกรรมล้านาสกุลช่างเชียงแสน อุโบสถเป็นสถาปัตยกรรมแบบพื้นเมืองฝีมือช่างเชียงแสน มีลักษณะอาคารก่ออิฐถือปูน มณฑปปราสาทพม่า ประดับตกแต่งลวดลายไม้ และแผ่นแกะสลักฝีมือละเอียดสวยงามเป็นอย่างมาก ภายในมณฑปเป็นที่ประดิษฐานพระพุทธรูปปูนปั้นปิดทอง");
        //txtDesc.setText(place.getContent());
        //Toast.makeText(this, genHtmlContent(place.getContent()), Toast.LENGTH_LONG).show();

        txtDesc = (WebView) findViewById(R.id.txt_desc);

        txtDesc.loadData(genHtmlContent(place.getContent()), "text/html; charset=UTF-8", "utf-8");
        mActionBar = this.getSupportActionBar();
        mActionBar.setDisplayHomeAsUpEnabled(true);
        mActionBar.setTitle(place.getName());

        btnNav = (FloatingActionButton) findViewById(R.id.btn_nav);
        btnNav.setOnClickListener(this);

        final ColorDrawable cd = new ColorDrawable(Color.parseColor(place.getHilightColor()));
        cd.setAlpha(100);
        mActionBar.setBackgroundDrawable(cd);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        finish();
        return super.onOptionsItemSelected(item);
    }

    @Override
    public void onLock() {

    }

    @Override
    public void onUnLock() {

    }

    @Override
    public void onReset() {

    }

    @Override
    public void onScrollChanged(VCustomScrollView v, int l, int t, int oldl, int oldt) {

    }

    private int getAlphaforActionBar(int scrollY) {
        int minDist = 0, maxDist = 650;
        if (scrollY > maxDist) {
            return 255;
        } else if (scrollY < minDist) {
            return 0;
        } else {
            int alpha = 0;
            alpha = (int) ((255.0 / maxDist) * scrollY);
            return alpha;
        }
    }

    @Override
    public void onClick(View v) {
        Intent navigation = new Intent(Intent.ACTION_VIEW, Uri
                .parse("http://maps.google.com/maps?daddr="
                        + place.getLatitude() + "," + place.getLongitude()));
        startActivity(navigation);
    }
}
